<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // super关键字调用父类普通函数
        // class Father {
        //     say() {
        //         return '我是爸爸'
        //     }
        // }
        // class Son extends Father {
        //     say() {
        //         console.log('我是儿子');
        //     }

        // }
        // var son = new Son()
        // 1.不加extends继承  对象并无关联
        // son.say()//我是儿子
        // 2.继承中(extends),子类调用方法时,如果是与父类同样(同名)的函数方法则优先执行自己的;反之,如果子类调用的方法自己没有,则去父类里查找然后执行.
        
        // son.say()//我是儿子
        // 3.继承中(extends),子类调用自己的方法时,也可同时加上(利用(super.函数名())父类的方法一起输出
        class Father {
            say() {
                return '我是爸爸'
            }
        }
        class Son extends Father {
            say() {
                console.log(super.say() + '的儿子');
                // super.say()就是调用父类中的普通函数 say()
            }

        }
        var son = new Son()
        son.say()//我是爸爸的儿子
        
        //继承中的属性或方法查找原则:总体来说为就近原则
    </script>
</body>

</html>